[INFO] fetching crate rust-mcp-core 0.1.0...
[INFO] fixing rust-mcp-core-0.1.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate rust-mcp-core 0.1.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate rust-mcp-core 0.1.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate rust-mcp-core 0.1.0
[INFO] tweaked toml for crates.io crate rust-mcp-core 0.1.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rust-mcp-core 0.1.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rust-mcp-core 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1f3c3619c48c58e1f925669b91a7b29fb955fb197c944918e74ce0afd5e2b300
[INFO] running `Command { std: "docker" "start" "1f3c3619c48c58e1f925669b91a7b29fb955fb197c944918e74ce0afd5e2b300", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1f3c3619c48c58e1f925669b91a7b29fb955fb197c944918e74ce0afd5e2b300" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1f3c3619c48c58e1f925669b91a7b29fb955fb197c944918e74ce0afd5e2b300", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1f3c3619c48c58e1f925669b91a7b29fb955fb197c944918e74ce0afd5e2b300" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling aws-lc-rs v1.16.1
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking rand_core v0.10.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]    Compiling unicode-general-category v1.1.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking borrow-or-share v0.2.4
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking chacha20 v0.10.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking vsimd v0.8.0
[INFO] [stderr]     Checking outref v0.5.2
[INFO] [stderr]    Compiling rmcp v1.1.0
[INFO] [stderr]     Checking dyn-clone v1.0.20
[INFO] [stderr]     Checking rand v0.10.0
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking uuid v1.22.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking uuid-simd v0.8.0
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking bytecount v0.6.9
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling pastey v0.2.1
[INFO] [stderr]     Checking num-cmp v0.1.0
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking matchit v0.8.4
[INFO] [stderr]     Checking unsafe-libyaml-norway v0.2.15
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking tabwriter v1.4.1
[INFO] [stderr]     Checking async-object-pool v0.2.0
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]     Checking path-tree v0.8.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking stringmetrics v2.2.2
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking fraction v0.15.3
[INFO] [stderr]    Compiling aws-lc-sys v0.38.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking fancy-regex v0.17.0
[INFO] [stderr]    Compiling axum-macros v0.5.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking simple_asn1 v0.6.4
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]    Compiling rmcp-macros v1.1.0
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking fluent-uri v0.4.1
[INFO] [stderr]     Checking email_address v0.2.9
[INFO] [stderr]     Checking assert-json-diff v2.0.2
[INFO] [stderr]     Checking serde_norway v0.9.42
[INFO] [stderr]     Checking serde_regex v1.1.0
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking referencing v0.43.0
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking schemars v1.2.1
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking headers v0.4.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking sse-stream v0.2.1
[INFO] [stderr]     Checking oauth2 v5.0.0
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking jsonwebtoken v10.3.0
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.6.2
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking axum v0.8.8
[INFO] [stderr]     Checking httpmock v0.8.3
[INFO] [stderr]     Checking reqwest v0.13.2
[INFO] [stderr]     Checking jsonschema v0.43.0
[INFO] [stderr]     Checking rust-mcp-core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/plugins/registry.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/engine/orchestration/completion_dispatch.rs:208:22
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 let completion_plugin = lookup_completion_plugin(&self.plugins, &plugin)?;
[INFO] [stdout]     |                     -----------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `completion_plugin` calls a custom destructor
[INFO] [stdout]     |                     `completion_plugin` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 208 |                     .await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 209 |                     .and_then(validate_completion_info)
[INFO] [stdout] 210 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `completion_plugin` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/engine/orchestration/resource_dispatch.rs:233:14
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let (plugin, ctx) = self.resource_plugin_call_parts(params.plugin_name, params.request)?;
[INFO] [stdout]     |              ------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `plugin` calls a custom destructor
[INFO] [stdout]     |              `plugin` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 233 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 234 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `plugin` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/engine/orchestration/resource_dispatch.rs:249:14
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let (plugin, ctx) = self.resource_plugin_call_parts(params.plugin_name, params.request)?;
[INFO] [stdout]     |              ------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `plugin` calls a custom destructor
[INFO] [stdout]     |              `plugin` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 249 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 250 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `plugin` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/engine/orchestration/resource_dispatch.rs:265:14
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let (plugin, ctx) = self.resource_plugin_call_parts(params.plugin_name, params.request)?;
[INFO] [stdout]     |              ------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `plugin` calls a custom destructor
[INFO] [stdout]     |              `plugin` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 265 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 266 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `plugin` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/engine/handler/prompt_requests.rs:128:22
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 let plugin_ref = self
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `plugin_ref` calls a custom destructor
[INFO] [stdout]     |                     `plugin_ref` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 113 |                 let crate::plugins::PluginRef::Prompt(prompt_plugin) = plugin_ref else {
[INFO] [stdout]     |                                                       -------------
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       `prompt_plugin` calls a custom destructor
[INFO] [stdout]     |                                                       `prompt_plugin` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 128 |                     .await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 129 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `plugin_ref` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `prompt_plugin` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/auth/outbound/token_manager.rs:299:22
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 let refresh_token = cached_refresh_token
[INFO] [stdout]     |                     -------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `refresh_token` calls a custom destructor
[INFO] [stdout]     |                     `refresh_token` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 299 |                     .await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 300 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `refresh_token` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/secrecy-0.10.3/src/lib.rs:68:1
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl<S: Zeroize + ?Sized> Drop for SecretBox<S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/auth/inbound/authorization.rs:538:14
[INFO] [stdout]     |
[INFO] [stdout] 522 |         let Some(PluginRef::Auth(plugin)) = registry.get_plugin(PluginType::Auth, plugin_name)
[INFO] [stdout]     |                                  ------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `plugin` calls a custom destructor
[INFO] [stdout]     |                                  `plugin` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 538 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 539 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `plugin` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/runtime/core.rs:235:43
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 let _guard = self.inner.refresh_locks.tools.lock().await;
[INFO] [stdout]     |                     ------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `_guard` calls a custom destructor
[INFO] [stdout]     |                     `_guard` will be dropped later as of Edition 2024
[INFO] [stdout] 235 |                 self.refresh_tools_list().await
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 236 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_guard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/runtime/core.rs:239:44
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 let _guard = self.inner.refresh_locks.prompts.lock().await;
[INFO] [stdout]     |                     ------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `_guard` calls a custom destructor
[INFO] [stdout]     |                     `_guard` will be dropped later as of Edition 2024
[INFO] [stdout] 239 |                 self.refresh_prompt_list().await
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 240 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_guard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/runtime/core.rs:243:47
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 let _guard = self.inner.refresh_locks.resources.lock().await;
[INFO] [stdout]     |                     ------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `_guard` calls a custom destructor
[INFO] [stdout]     |                     `_guard` will be dropped later as of Edition 2024
[INFO] [stdout] 243 |                 self.refresh_resource_lists().await
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 244 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_guard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/runtime/core.rs:517:19
[INFO] [stdout]      |
[INFO] [stdout]  516 |     let runtime = Runtime::new(config, plugins).await?;
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `runtime` calls a custom destructor
[INFO] [stdout]      |         `runtime` will be dropped later as of Edition 2024
[INFO] [stdout]  517 |     runtime.run().await
[INFO] [stdout]      |                   ^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  518 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/once_cell.rs:104:1
[INFO] [stdout]      |
[INFO] [stdout]  104 | impl<T> Drop for OnceCell<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `runtime` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/once_lock.rs:699:0
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> src/engine/tasks.rs:237:1
[INFO] [stdout]      |
[INFO] [stdout]  237 | impl Drop for TaskEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/secrecy-0.10.3/src/lib.rs:68:1
[INFO] [stdout]      |
[INFO] [stdout]   68 | impl<S: Zeroize + ?Sized> Drop for SecretBox<S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/http/client.rs:163:33
[INFO] [stdout]     |
[INFO] [stdout] 163 |             while let Some(chunk) = response
[INFO] [stdout]     |  __________________________-----____^
[INFO] [stdout]     | |  ________________________|________|
[INFO] [stdout]     | | |                        |
[INFO] [stdout]     | | |                        `chunk` calls a custom destructor
[INFO] [stdout]     | | |                        `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 164 | | |             .chunk()
[INFO] [stdout] 165 | | |             .await
[INFO] [stdout]     | | |              -----
[INFO] [stdout]     | | |              |   |
[INFO] [stdout]     | | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     | |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 166 | |               .map_err(|error| McpError::internal_error(error.to_string(), None))?
[INFO] [stdout]     | |                                                                                  ^
[INFO] [stdout]     | |                                                                                  |
[INFO] [stdout]     | |                                                                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                                                  up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |__________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 178 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/config/loader.rs (4 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/engine/orchestration/completion_dispatch.rs:208:22
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 let completion_plugin = lookup_completion_plugin(&self.plugins, &plugin)?;
[INFO] [stdout]     |                     -----------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `completion_plugin` calls a custom destructor
[INFO] [stdout]     |                     `completion_plugin` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 208 |                     .await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 209 |                     .and_then(validate_completion_info)
[INFO] [stdout] 210 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `completion_plugin` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/runtime/core.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/engine/orchestration/resource_dispatch.rs:233:14
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let (plugin, ctx) = self.resource_plugin_call_parts(params.plugin_name, params.request)?;
[INFO] [stdout]     |              ------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `plugin` calls a custom destructor
[INFO] [stdout]     |              `plugin` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 233 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 234 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `plugin` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/inline_test_fixtures.rs (4 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/engine/orchestration/resource_dispatch.rs:249:14
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let (plugin, ctx) = self.resource_plugin_call_parts(params.plugin_name, params.request)?;
[INFO] [stdout]     |              ------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `plugin` calls a custom destructor
[INFO] [stdout]     |              `plugin` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 249 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 250 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `plugin` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/auth/outbound/config.rs (10 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/engine/orchestration/resource_dispatch.rs:265:14
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let (plugin, ctx) = self.resource_plugin_call_parts(params.plugin_name, params.request)?;
[INFO] [stdout]     |              ------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `plugin` calls a custom destructor
[INFO] [stdout]     |              `plugin` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 265 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 266 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `plugin` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/engine/handler/prompt_requests.rs:128:22
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 let plugin_ref = self
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `plugin_ref` calls a custom destructor
[INFO] [stdout]     |                     `plugin_ref` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 113 |                 let crate::plugins::PluginRef::Prompt(prompt_plugin) = plugin_ref else {
[INFO] [stdout]     |                                                       -------------
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       `prompt_plugin` calls a custom destructor
[INFO] [stdout]     |                                                       `prompt_plugin` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 128 |                     .await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 129 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `plugin_ref` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `prompt_plugin` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/auth/outbound/token_manager.rs:299:22
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 let refresh_token = cached_refresh_token
[INFO] [stdout]     |                     -------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `refresh_token` calls a custom destructor
[INFO] [stdout]     |                     `refresh_token` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 299 |                     .await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 300 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `refresh_token` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/secrecy-0.10.3/src/lib.rs:68:1
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl<S: Zeroize + ?Sized> Drop for SecretBox<S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/auth/inbound/authorization.rs:538:14
[INFO] [stdout]     |
[INFO] [stdout] 522 |         let Some(PluginRef::Auth(plugin)) = registry.get_plugin(PluginType::Auth, plugin_name)
[INFO] [stdout]     |                                  ------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `plugin` calls a custom destructor
[INFO] [stdout]     |                                  `plugin` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 538 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 539 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `plugin` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/runtime/core.rs:235:43
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 let _guard = self.inner.refresh_locks.tools.lock().await;
[INFO] [stdout]     |                     ------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `_guard` calls a custom destructor
[INFO] [stdout]     |                     `_guard` will be dropped later as of Edition 2024
[INFO] [stdout] 235 |                 self.refresh_tools_list().await
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 236 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_guard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/runtime/core.rs:239:44
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 let _guard = self.inner.refresh_locks.prompts.lock().await;
[INFO] [stdout]     |                     ------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `_guard` calls a custom destructor
[INFO] [stdout]     |                     `_guard` will be dropped later as of Edition 2024
[INFO] [stdout] 239 |                 self.refresh_prompt_list().await
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 240 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_guard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/runtime/core.rs:243:47
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 let _guard = self.inner.refresh_locks.resources.lock().await;
[INFO] [stdout]     |                     ------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `_guard` calls a custom destructor
[INFO] [stdout]     |                     `_guard` will be dropped later as of Edition 2024
[INFO] [stdout] 243 |                 self.refresh_resource_lists().await
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 244 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_guard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/runtime/core.rs:517:19
[INFO] [stdout]      |
[INFO] [stdout]  516 |     let runtime = Runtime::new(config, plugins).await?;
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `runtime` calls a custom destructor
[INFO] [stdout]      |         `runtime` will be dropped later as of Edition 2024
[INFO] [stdout]  517 |     runtime.run().await
[INFO] [stdout]      |                   ^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  518 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/once_cell.rs:104:1
[INFO] [stdout]      |
[INFO] [stdout]  104 | impl<T> Drop for OnceCell<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `runtime` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/once_lock.rs:699:0
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> src/engine/tasks.rs:237:1
[INFO] [stdout]      |
[INFO] [stdout]  237 | impl Drop for TaskEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/secrecy-0.10.3/src/lib.rs:68:1
[INFO] [stdout]      |
[INFO] [stdout]   68 | impl<S: Zeroize + ?Sized> Drop for SecretBox<S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/runtime/core.rs:543:28
[INFO] [stdout]      |
[INFO] [stdout]  533 |     let runtime = Runtime::new(config, plugins).await?;
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `runtime` calls a custom destructor
[INFO] [stdout]      |         `runtime` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  543 |     run_stdio_hook(engine).await
[INFO] [stdout]      |                            ^^^^^
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  544 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/once_cell.rs:104:1
[INFO] [stdout]      |
[INFO] [stdout]  104 | impl<T> Drop for OnceCell<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `runtime` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/once_lock.rs:699:0
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> src/engine/tasks.rs:237:1
[INFO] [stdout]      |
[INFO] [stdout]  237 | impl Drop for TaskEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/secrecy-0.10.3/src/lib.rs:68:1
[INFO] [stdout]      |
[INFO] [stdout]   68 | impl<S: Zeroize + ?Sized> Drop for SecretBox<S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/utility-list-changed/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/http/client.rs:163:33
[INFO] [stdout]     |
[INFO] [stdout] 163 |             while let Some(chunk) = response
[INFO] [stdout]     |  __________________________-----____^
[INFO] [stdout]     | |  ________________________|________|
[INFO] [stdout]     | | |                        |
[INFO] [stdout]     | | |                        `chunk` calls a custom destructor
[INFO] [stdout]     | | |                        `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 164 | | |             .chunk()
[INFO] [stdout] 165 | | |             .await
[INFO] [stdout]     | | |              -----
[INFO] [stdout]     | | |              |   |
[INFO] [stdout]     | | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     | |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 166 | |               .map_err(|error| McpError::internal_error(error.to_string(), None))?
[INFO] [stdout]     | |                                                                                  ^
[INFO] [stdout]     | |                                                                                  |
[INFO] [stdout]     | |                                                                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                                                  up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |__________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 178 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/inline_test_fixtures.rs:504:66
[INFO] [stdout]      |
[INFO] [stdout]  503 |     let auth_state = build_auth_state_with_plugins(config, None)?;
[INFO] [stdout]      |         ----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `auth_state` calls a custom destructor
[INFO] [stdout]      |         `auth_state` will be dropped later as of Edition 2024
[INFO] [stdout]  504 |     build_streamable_http_router(Arc::new(engine), &auth_state, &Arc::new(registry))
[INFO] [stdout]      |                                                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                                  |
[INFO] [stdout]      |                                                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  505 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `auth_state` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `auth_state` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed examples/utility-list-changed/../_shared/mock_harness.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> examples/utility-list-changed/main.rs:46:19
[INFO] [stdout]      |
[INFO] [stdout]   26 |     let runtime = runtime::build_runtime(initial, PluginRegistry::new()).await?;
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `runtime` calls a custom destructor
[INFO] [stdout]      |         `runtime` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   46 |     runtime.run().await
[INFO] [stdout]      |                   ^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   47 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/once_cell.rs:104:1
[INFO] [stdout]      |
[INFO] [stdout]  104 | impl<T> Drop for OnceCell<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `runtime` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/once_lock.rs:699:0
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> src/engine/tasks.rs:237:1
[INFO] [stdout]      |
[INFO] [stdout]  237 | impl Drop for TaskEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/secrecy-0.10.3/src/lib.rs:68:1
[INFO] [stdout]      |
[INFO] [stdout]   68 | impl<S: Zeroize + ?Sized> Drop for SecretBox<S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/plugins-tool-client-features/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/utility-tasks-advanced/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/tools-http-post/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/plugins-router-http/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/tools-upstream-auth/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/utility-pagination/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/plugins-auth-custom/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/auth-bearer/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/auth-all-mode/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/auth-oauth-introspection/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/tools-templating/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/utility-tasks/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/tools-output-modes/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/utility-cancellation/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/plugins-tool-custom/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/utility-completion/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/utility-logging/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/tools-web-search/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/resources-inline-plugin/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/auth-oauth-jwt/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/plugins-tool-filesystem/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/core-minimal/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/resources-subscribe-updated/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/plugins-tool-oauth-helper/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/tools-rich-content/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/plugins-tool-client-features-advanced/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/prompts-inline-plugin/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/plugins-simple-outbound-http/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/tools-crud-http/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/utility-progress/main.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 51s
[INFO] [stderr] crater-edition-check: rust-mcp-core v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking rust-mcp-core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/auth/outbound/config.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         unsafe { std::env::remove_var("MISSING_OAUTH_CLIENT_SECRET_ENV") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/auth/outbound/config.rs:368:9
[INFO] [stdout]     |
[INFO] [stdout] 368 |         unsafe { std::env::remove_var("MISSING_OAUTH_REFRESH_TOKEN_ENV") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/auth/outbound/config.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout] 404 | /         unsafe { std::env::set_var(
[INFO] [stdout] 405 | |             "TEST_MTLS_CERT",
[INFO] [stdout] 406 | |             "-----BEGIN CERTIFICATE-----\ntest-cert\n-----END CERTIFICATE-----",
[INFO] [stdout] 407 | |         ) };
[INFO] [stdout]     | |___________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/auth/outbound/config.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout] 409 | /         unsafe { std::env::set_var(
[INFO] [stdout] 410 | |             "TEST_MTLS_KEY",
[INFO] [stdout] 411 | |             "-----BEGIN PRIVATE KEY-----\ntest-key\n-----END PRIVATE KEY-----",
[INFO] [stdout] 412 | |         ) };
[INFO] [stdout]     | |___________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/auth/outbound/config.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 | /         unsafe { std::env::set_var(
[INFO] [stdout] 415 | |             "TEST_MTLS_CA",
[INFO] [stdout] 416 | |             "-----BEGIN CERTIFICATE-----\nca-cert\n-----END CERTIFICATE-----",
[INFO] [stdout] 417 | |         ) };
[INFO] [stdout]     | |___________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/auth/outbound/config.rs:452:9
[INFO] [stdout]     |
[INFO] [stdout] 452 |         unsafe { std::env::remove_var("TEST_MTLS_CERT") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/auth/outbound/config.rs:454:9
[INFO] [stdout]     |
[INFO] [stdout] 454 |         unsafe { std::env::remove_var("TEST_MTLS_KEY") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/auth/outbound/config.rs:456:9
[INFO] [stdout]     |
[INFO] [stdout] 456 |         unsafe { std::env::remove_var("TEST_MTLS_CA") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/auth/outbound/config.rs:522:9
[INFO] [stdout]     |
[INFO] [stdout] 522 |         unsafe { std::env::remove_var("MISSING_MTLS_KEY") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/auth/outbound/config.rs:552:9
[INFO] [stdout]     |
[INFO] [stdout] 552 |         unsafe { std::env::remove_var("MISSING_MTLS_CA") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/config/loader.rs:396:9
[INFO] [stdout]     |
[INFO] [stdout] 396 |         unsafe { env::set_var("API_BASE_URL", "https://example.com") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/config/loader.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 |         unsafe { env::set_var("query", "injected") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/config/loader.rs:427:9
[INFO] [stdout]     |
[INFO] [stdout] 427 |         unsafe { env::remove_var("API_BASE_URL") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/config/loader.rs:429:9
[INFO] [stdout]     |
[INFO] [stdout] 429 |         unsafe { env::remove_var("query") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/runtime/core.rs:656:9
[INFO] [stdout]     |
[INFO] [stdout] 656 |         unsafe { std::env::set_var("MCP_RUNTIME_TEST_ENV", "original") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/runtime/core.rs:669:9
[INFO] [stdout]     |
[INFO] [stdout] 669 |         unsafe { std::env::remove_var("MCP_RUNTIME_TEST_ENV") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/runtime/core.rs:675:9
[INFO] [stdout]     |
[INFO] [stdout] 675 |         unsafe { std::env::remove_var("MCP_RUNTIME_TEST_ENV_ABSENT") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/inline_test_fixtures.rs:168:28
[INFO] [stdout]     |
[INFO] [stdout] 168 |             Some(value) => unsafe { std::env::set_var(self.key, value) },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/inline_test_fixtures.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 |             None => unsafe { std::env::remove_var(self.key) },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/inline_test_fixtures.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     unsafe { std::env::set_var(key, value) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/inline_test_fixtures.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     unsafe { std::env::remove_var(key) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> examples/tools-output-modes/../_shared/mock_harness.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> examples/plugins-router-http/../_shared/mock_harness.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> examples/auth-bearer/../_shared/mock_harness.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> examples/core-minimal/../_shared/mock_harness.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> examples/auth-oauth-introspection/../_shared/mock_harness.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> examples/plugins-auth-custom/../_shared/mock_harness.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> examples/auth-oauth-jwt/../_shared/mock_harness.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> examples/tools-http-post/../_shared/mock_harness.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> examples/auth-all-mode/../_shared/mock_harness.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> examples/utility-pagination/../_shared/mock_harness.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-mcp-core` (example "tools-output-modes") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> examples/tools-crud-http/../_shared/mock_harness.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-mcp-core` (example "plugins-router-http") due to 1 previous error
[INFO] [stderr] error: could not compile `rust-mcp-core` (example "auth-oauth-jwt") due to 1 previous error
[INFO] [stderr] error: could not compile `rust-mcp-core` (example "tools-http-post") due to 1 previous error
[INFO] [stderr] error: could not compile `rust-mcp-core` (example "utility-pagination") due to 1 previous error
[INFO] [stderr] error: could not compile `rust-mcp-core` (example "auth-bearer") due to 1 previous error
[INFO] [stderr] error: could not compile `rust-mcp-core` (example "auth-all-mode") due to 1 previous error
[INFO] [stderr] error: could not compile `rust-mcp-core` (example "tools-crud-http") due to 1 previous error
[INFO] [stderr] error: could not compile `rust-mcp-core` (example "core-minimal") due to 1 previous error
[INFO] [stderr] error: could not compile `rust-mcp-core` (example "plugins-auth-custom") due to 1 previous error
[INFO] [stderr] error: could not compile `rust-mcp-core` (example "auth-oauth-introspection") due to 1 previous error
[INFO] [stderr] error: could not compile `rust-mcp-core` (lib test) due to 21 previous errors
[INFO] running `Command { std: "docker" "inspect" "1f3c3619c48c58e1f925669b91a7b29fb955fb197c944918e74ce0afd5e2b300", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f3c3619c48c58e1f925669b91a7b29fb955fb197c944918e74ce0afd5e2b300", kill_on_drop: false }`
[INFO] [stdout] 1f3c3619c48c58e1f925669b91a7b29fb955fb197c944918e74ce0afd5e2b300
